package com.icongyou.enterprise.talent_analysis.service;

/**
 * 人才画像异步更新服务
 */
public interface PortraitAsyncService {
    
    /**
     * 触发学生画像更新（当学生数据变更时调用）
     * @param studentId 学生ID
     * @param triggerSource 触发来源（submission/grade/activity等）
     */
    void triggerStudentPortraitUpdate(String studentId, String triggerSource);
    
    /**
     * 触发模板相关的所有画像更新（当模板配置变更时调用）
     * @param templateId 模板ID
     */
    void triggerTemplatePortraitUpdate(String templateId);
    
    /**
     * 批量触发画像更新（用于新模板创建/激活）
     * @param templateId 模板ID
     * @param triggerSource 触发来源
     */
    void triggerBatchUpdate(String templateId, String triggerSource);
    
    /**
     * 清理指定模板的所有缓存
     * @param templateId 模板ID
     */
    void clearCacheByTemplate(String templateId);
    
    /**
     * 处理待处理的更新任务（定时任务调用）
     */
    void processUpdateTasks();
    
    /**
     * 清理已完成的旧任务
     */
    void cleanupOldTasks();
}
